package thread;

/**
 * 线程的优先级
 * 线程有10个优先级， 分别用整数1-10表示。
 * 其中1是最低优先级，10为最高优先级，5是默认值
 * 线程无法主动索取时间片，只能被动被线程调度器分配，但是优先级越高的线程获取
 * 时间片的概率越大。
 * 因此改变线程的优先级可以最大程度的改变线程获取时间片的次数。
 */
public class PriorityDemo {
    public static void main(String[] args) {
        Thread min = new Thread(){
            public void run(){
                for(int i = 0; i < 10000; i++){
                    System.out.println("min");
                }
            }
        };
        Thread max = new Thread(){
            public void run(){
                for(int i = 0; i < 10000; i++){
                    System.out.println("max");
                }
            }
        };
        Thread norm = new Thread(){
            public void run(){
                for(int i = 0; i < 10000; i++){
                    System.out.println("nor");
                }
            }
        };
//        min.setPriority(1);
//        max.setPriority(10);
        min.setPriority(Thread.MIN_PRIORITY);
        max.setPriority(Thread.MAX_PRIORITY);
        min.start();
        norm.start();
        max.start();
    }
}



